﻿using NUnit.Framework;

namespace kk.portal.tests
{
    [TestFixture]
    public class Portaltest
    {

        private BelegungsplanansichtMock Belegungsplanansicht = new BelegungsplanansichtMock();
        private BelegungsplanfactoryMock BelegungsplanFactory = new BelegungsplanfactoryMock();
        private PortalForm Portal;

        [SetUp]
        public void SetUp()
        {
            Portal = new PortalForm(Belegungsplanansicht);
            Portal.OnBelegungsplanZuVorstellung += BelegungsplanFactory.BelegungsplanZuVorstellung;
            Portal.OnBelegungsplan += Belegungsplanansicht.ProcessBelegungsplan;
            Belegungsplanansicht.OnPlatzwahlChanged += Portal.ProcessPlatzwahlChanged;
            Portal.Configure();
        }

        [Test, Explicit]
        public void Form_wird_korrekt_angezeigt()
        {
            Portal.ShowDialog();
        }

        [Test]
        public void Falsche_Emailadresse_wird_nicht_akzeptiert()
        {
            Assert.That(Portal.IsEmailAdress("test"), Is.False);
            Assert.That(Portal.IsEmailAdress("ä@test.de"), Is.False);
        }

        [Test]
        public void Korrekte_Emailadresse_wird_akzeptiert()
        {
            Assert.That(Portal.IsEmailAdress("test@test.de"), Is.True);
        }

        [Test]
        public void Leere_emailadresse_wird_nicht_akzeptiert()
        {
            Assert.That(Portal.IsEmailAdress(string.Empty),Is.False);
        }

    }
}
